package homework.day03;

/**
 * @author ThinkBook
 */
public class Test02 {
    public static void main(String[] args) {
        System.out.println(5&9);
//        1: 5->0000 0101
//           9->0000 1001
//              0000 0001 ->1
//        都1才1
        System.out.println(5|9);
//        13: 5->0000 0101
//            9->0000 1001
//               0000 1101 ->13
//        有1就1
        System.out.println(5^9);
//        12: 5->0000 0101
//            9->0000 1001
//               0000 1100 ->12
//        相同为1不同为0
        System.out.println(~-5);
//        4: -5->1000 0101
//            ~->1111 1010
//           补->1111 1011
//           取反->0000 0100 ->4
        System.out.println(5<<2);
//        20    5->0000 0101
//             左移两位 0001 0100 ->20
        System.out.println(-5<<2);
//        -20  -5->1000 0101
//             反码: 1111 1010
//             补码: 1111 1011
//             左移两位 1110 1100
//             反码:1110 1011
//             原码:1001 0100 ->-20
        System.out.println(-5>>2);
//        -2   -5->1000 0101
//             反码: 1111 1010
//             补码: 1111 1011
//             右移两位: 1111 1110
//             反码: 1111 1101
//             原码: 1000 0010 ->-2
        System.out.println(-5>>>2);
//        1073741822
        System.out.println(5>>2);
//        1  5->0000 0101
//           右移两位 0000 0001 ->1
        System.out.println(5>>34);
//        1
        System.out.println(97=='a');
//        true
        System.out.println(5.0==5);
//        true
        System.out.println(4>5 ^ 'c'>'a');
//        true:false^true
        System.out.println((int)(char)(byte)-1);
//        65535
    }
}
